package com.company;

import java.util.Arrays;

public class A_13_API_ {
    public static void main(String[] args) {
        int[] a = {1,2,3,4,5,6,7};
        int[] b = new int[10];
        System.out.println(Arrays.toString(b = Arrays.copyOf(a,10)));
        System.arraycopy(a,3,b,1,3);    //这里不会改变b数组的大小  而 Arrays.copyOf() 会改变b数组的大小
//                       原数组   原数组下标开始  目的数组  目的数组开始位置 复制个数
         System.out.println(Arrays.toString(b));
        /*
        * Arrays 工具类  （api 就是介绍方法的文档）
        *
        * */
//        Arrays.toString()        将数组转化为字符串  一般用于打印数组
//        Arrays.binarySearch()    数组的二分查找法
//        Arrays.sort();           数组的快速排序
//        Arrays.copyOf()          复制数组  第一个参数  原数组  第二个参数 待赋值的数组的长度  继承的下面这个  最后的数组长度等于第二个参数的值  重新定义长度
//        System.arraycopy();      五个参数  原数组 ， 原数组起始位置 ，新数组 ， 赋值多少个元素    Arrays.copyOf 的前身（核心是这个函数方法）不改变新数组的大小
//效率   是system.arraycopy 的高
     /**  int[] nums = {2,1,4,5,2,5,7,8,9,6,2,43};
        int[] nums2 = new int[8];
        nums2 = Arrays.copyOf(nums,18);
        System.out.println( Arrays.toString(nums2));
        System.out.println(nums2.length);

      [2, 1, 4, 5, 2, 5, 7, 8, 9, 6, 2, 43, 0, 0, 0, 0, 0, 0]  参数为18
      18
      */
//        [2, 1, 4, 5]   参数为4
//        4
//      数组的长度变为 复制后的新长度  定义数组小于原数组   赋值参数小于定义
//        最后的数组长度等于第二个参数的值  重新定义长度
//
//s

//        判断两个数的值是否相等
//        Arrays.equals( 数1 , 数2 ）两个参数
//        Arrays.fill();  数组 （中间可以加范围） 需要填充的值
    }
}
